Editing digital images, particularly digital photographs, is a common activity in both domestic and professional contexts. One common task includes pasting a piece of one image into another image or into other locations of the same image. This operation is useful for repairing, correcting, and modifying digital images.
For example, in FIG. 1, a user wishes to insert a sun 100 from a source image 102 into a destination image 104. In a simple copy-and-paste operation, the user would select or “clip” around the perimeter of the sun 100 in the source image 102, copy the clipped region, and paste the clipped region at the desired location within the destination image 104. Alternatively, a simple drag-and-drop operation may be employed in a similar manner. However, in both approaches, the boundary (or “seam”) between the inserted clipped region and the rest of the destination image 104 would appear abrupt and reflect any irregularities in the clipping operation. Furthermore, any portion of the sun's background (i.e., a solid light blue in a color image) in source image 102 that was captured in the clipping operation would appear as a stark discontinuity when inserted into the destination image 104, in which the sky is represented by a gray hazy background. In other words, the inserted clipping would not blend into the destination image 104.
An alternative approach, called “cloning”, involves an anchor point defined within a source image. A paintbrush control is used on the destination image to define the region of the destination image into which the source image data should be copied. The results are similar to the copy-and-paste or drag-n-drop alternatives.
In addition, other image editing operations can also involve altering the appearance of a selected region of an image. For example, texture in a region of an image may be flattened, a background or foreground may be decolonized, or illumination changes may be performed on a region of the image. However, such editing operations also introduce problems with seams between the edited region and the rest of the original image.
To improve the results of these existing approaches, a local “feathering” operation may be performed to conceal the seams between the inserted clipping and the destination image background. Such a feathering approach typically involves blurring or smearing the image data at the seam to approximate a smooth transition between the inserted clipping and the destination image background. However, a feathering operation may produce unsatisfactory results because the seam is merely replaced with blurred image data. Furthermore, the existing approaches fail to provide a variety of blending modes to allow a user to best integrate an inserted image portion into a destination image.
Therefore, the existing clipping and cloning approaches fail to satisfactorily provide flexible and seamless image insertion and editing in many common scenarios.